using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace ConsoleApplication2.Models.Mapping
{
    public class item_resMap : EntityTypeConfiguration<item_res>
    {
        public item_resMap()
        {
            // Primary Key
            this.HasKey(t => t.id);

            // Properties
            this.Property(t => t.result_nm)
                .HasMaxLength(50);

            this.Property(t => t.unit)
                .HasMaxLength(15);

            this.Property(t => t.item_id)
                .IsRequired()
                .HasMaxLength(10);

            this.Property(t => t.File_Primary_Key)
                .HasMaxLength(10);

            this.Property(t => t.ItmRes_Default)
                .HasMaxLength(30);

            // Table & Column Mappings
            this.ToTable("item_res");
            this.Property(t => t.id).HasColumnName("id");
            this.Property(t => t.result_nm).HasColumnName("result_nm");
            this.Property(t => t.nmale_min).HasColumnName("nmale_min");
            this.Property(t => t.nmale_max).HasColumnName("nmale_max");
            this.Property(t => t.nfemale_min).HasColumnName("nfemale_min");
            this.Property(t => t.nfemale_max).HasColumnName("nfemale_max");
            this.Property(t => t.nchild_min).HasColumnName("nchild_min");
            this.Property(t => t.nchild_max).HasColumnName("nchild_max");
            this.Property(t => t.unit).HasColumnName("unit");
            this.Property(t => t.item_id).HasColumnName("item_id");
            this.Property(t => t.File_Primary_Key).HasColumnName("File Primary Key");
            this.Property(t => t.LabReportOrder).HasColumnName("LabReportOrder");
            this.Property(t => t.ItmRes_Default).HasColumnName("ItmRes_Default");

            // Relationships
            this.HasRequired(t => t.Item)
                .WithMany(t => t.item_res)
                .HasForeignKey(d => d.item_id);

        }
    }
}
